#define _CRT_SECURE_NO_WARNINGS 1
int mySqrt(int x) {
    long left = 1, right = x;
    if (x < 1)
        return 0;
    while (left < right)
    {
        long mid = left + (right - left + 1) / 2;
        if (mid * mid <= x)
            left = mid;
        else
            right = mid - 1;
    }
    return left;
}